--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Taskfile.yml fcbdbb887ac302975e28c07c669b842fedc2a48b (fcbdbb88) Text, 15.46 KB
Tff7b72versionTb4b4b4: Ta5d6ff"Ta5d6ff3Ta5d6ff"
Tff7b72varsTb4b4b4:
Tff7b72PYTHONTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${PYTHON:-python}"
Tff7b72NPMTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${NPM:-pnpm}"
Tff7b72LEGACY_ELECTRON_VERSIONTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${LEGACY_ELECTRON_VERSION:-30.0.8}"
Tff7b72WINE_PYTHONTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${WINE_PYTHON:-wineTa5d6ff Ta5d6ffpython}"
Tff7b72DOCKER_COMPOSE_CMDTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_COMPOSE_CMD:-dockerTa5d6ff Ta5d6ffcompose}"
Tff7b72DOCKER_COMPOSE_FILETb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_COMPOSE_FILE:-docker-compose.yml}"
Tff7b72DOCKER_IMAGETb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_IMAGE:-reticulum-meshchatx:local}"
Tff7b72DOCKER_BUILDERTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_BUILDER:-meshchatx-builder}"
Tff7b72DOCKER_PLATFORMSTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_PLATFORMS:-linux/amd64}"
Tff7b72DOCKER_BUILD_FLAGSTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_BUILD_FLAGS:---load}"
Tff7b72DOCKER_BUILD_ARGSTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_BUILD_ARGS:-}"
Tff7b72DOCKER_CONTEXTTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_CONTEXT:-.}"
Tff7b72DOCKERFILETb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKERFILE:-Dockerfile}"
Tff7b72DOCKER_BUILD_IMAGETb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_BUILD_IMAGE:-reticulum-meshchatx-build:local}"
Tff7b72DOCKER_BUILD_FILETb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${DOCKER_BUILD_FILE:-Dockerfile.build}"
Tff7b72ANDROID_DIRTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${ANDROID_DIR:-android}"
Tff7b72PYTHON_SRC_DIRTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${PYTHON_SRC_DIR:-${ANDROID_DIR}/app/src/main/python}"
Tff7b72JNI_LIBS_DIRTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${JNI_LIBS_DIR:-${ANDROID_DIR}/app/src/main/jniLibs}"
Tff7b72RETICULUM_RNS_SRCTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${RETICULUM_RNS_SRC:-./misc/RNS}"
Tff7b72RETICULUM_LXMF_SRCTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${RETICULUM_LXMF_SRC:-./misc/LXMF}"
Tff7b72RETICULUM_LXST_SRCTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${RETICULUM_LXST_SRC:-./misc/LXST}"
Tff7b72SIDEBAND_CODEC2_WHLTb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${SIDEBAND_CODEC2_WHL:-./misc/pycodec2-3.0.1-cp311-cp311-linux_aarch64.whl}"
Tff7b72SIDEBAND_LIB_ARM64Tb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${SIDEBAND_LIB_ARM64:-./misc/libcodec2-arm64-v8a.so}"
Tff7b72SIDEBAND_LIB_ARMEABITb4b4b4:
Tff7b72shTb4b4b4: Ta5d6ffechoTa5d6ff Ta5d6ff"${SIDEBAND_LIB_ARMEABI:-./misc/libcodec2-armeabi-v7a.so}"
Tff7b72tasksTb4b4b4:
Tff7b72defaultTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffShowTa5d6ff Ta5d6ffavailableTa5d6ff Ta5d6fftasks
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6fftaskTa5d6ff Ta5d6ff--list
T8b949e# --- Initialization & Dependencies ---
Tff7b72installTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffallTa5d6ff Ta5d6ffdependenciesTa5d6ff Ta5d6ff(frontendTa5d6ff Ta5d6ffandTa5d6ff Ta5d6ffbackend)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3depsTb4b4b4:Te6edf3feTb4b4b4, Te6edf3depsTb4b4b4:Te6edf3beTb4b4b4]
Tff7b72deps:feTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffNode.jsTa5d6ff Ta5d6ffdependencies
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffinstallTa5d6ff"
Tff7b72deps:beTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6ffdependenciesTa5d6ff Ta5d6ffusingTa5d6ff Ta5d6ffPoetry
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.PYTHON}}Te6edf3 Ta5d6ff-mTe6edf3 Ta5d6ffpoetryTe6edf3 Ta5d6ffinstallTa5d6ff"
Tff7b72setup:beTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffFullTa5d6ff Ta5d6ffbackendTa5d6ff Ta5d6ffenvironmentTa5d6ff Ta5d6ffsetup
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffinstall
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpipTa5d6ff Ta5d6ffinstallTa5d6ff Ta5d6ffruff
T8b949e# --- Execution ---
Tff7b72runTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffapplication
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3installTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.PYTHON}}Te6edf3 Ta5d6ff-mTe6edf3 Ta5d6ffpoetryTe6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffmeshchatTa5d6ff"
Tff7b72devTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffinTa5d6ff Ta5d6ffdevelopmentTa5d6ff Ta5d6ffmodeTa5d6ff Ta5d6ff(buildsTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6fffirst)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Tff7b72taskTb4b4b4: Ta5d6ffrun
Tff7b72startTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffapplicationTa5d6ff Ta5d6ffviaTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffForge
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffstartTa5d6ff"
Tff7b72packageTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffPackageTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffapplicationTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffForge
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffpackageTa5d6ff"
Tff7b72makeTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffGenerateTa5d6ff Ta5d6ffdistributablesTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffForge
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffmakeTa5d6ff"
T8b949e# --- Code Quality ---
Tff7b72lint:allTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffallTa5d6ff Ta5d6fflinters
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3lintTb4b4b4:Te6edf3feTb4b4b4, Te6edf3lintTb4b4b4:Te6edf3beTb4b4b4]
Tff7b72lint:beTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffLintTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6ffcodeTa5d6ff Ta5d6ff(ruff)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffruffTa5d6ff Ta5d6ffcheckTa5d6ff Ta5d6ff.
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffruffTa5d6ff Ta5d6ffformatTa5d6ff Ta5d6ff--checkTa5d6ff Ta5d6ff.
Tff7b72lint:feTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffLintTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffcode
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6fflintTa5d6ff"
Tff7b72fmt:allTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffFormatTa5d6ff Ta5d6ffallTa5d6ff Ta5d6ffcode
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3fmtTb4b4b4:Te6edf3feTb4b4b4, Te6edf3fmtTb4b4b4:Te6edf3beTb4b4b4]
Tff7b72fmt:beTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffFormatTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6ffcodeTa5d6ff Ta5d6ff(ruff)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffruffTa5d6ff Ta5d6ffformatTa5d6ff Ta5d6ff./Ta5d6ff Ta5d6ff--excludeTa5d6ff Ta5d6fftests
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffruffTa5d6ff Ta5d6ffcheckTa5d6ff Ta5d6ff--fixTa5d6ff Ta5d6ff./Ta5d6ff Ta5d6ff--excludeTa5d6ff Ta5d6fftests
Tff7b72fmt:feTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffFormatTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffcodeTa5d6ff Ta5d6ff(Prettier/ESLint)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffformatTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6fflint:fixTa5d6ff"
T8b949e# --- Testing & Analysis ---
Tff7b72test:allTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffallTa5d6ff Ta5d6fftests
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3testTb4b4b4:Te6edf3beTb4b4b4, Te6edf3testTb4b4b4:Te6edf3feTb4b4b4, Te6edf3testTb4b4b4:Te6edf3langTb4b4b4]
Tff7b72test:beTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6fftestsTa5d6ff Ta5d6ff(pytest)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpytestTa5d6ff Ta5d6fftests/backendTa5d6ff Ta5d6ff--cov=meshchatx/src/backend
Tff7b72test:be:covTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6fftestsTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ffdetailedTa5d6ff Ta5d6ffcoverage
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpytestTa5d6ff Ta5d6fftests/backendTa5d6ff Ta5d6ff--cov=meshchatx/src/backendTa5d6ff Ta5d6ff--cov-report=term-missing
Tff7b72test:feTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6fftestsTa5d6ff Ta5d6ff(vitest)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6fftestTe6edf3 Ta5d6ff--Te6edf3 Ta5d6ff--excludeTe6edf3 Ta5d6fftests/frontend/i18n.test.jsTa5d6ff"
Tff7b72test:langTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6fflocalizationTa5d6ff Ta5d6fftests
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6fftestTe6edf3 Ta5d6fftests/frontend/i18n.test.jsTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffpoetryTe6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffpytestTe6edf3 Ta5d6fftests/backend/test_translator_handler.pyTa5d6ff"
Tff7b72test:integrityTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffdataTa5d6ff Ta5d6ffintegrityTa5d6ff Ta5d6fftests
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpytestTa5d6ff Ta5d6fftests/backend/test_integrity.pyTa5d6ff Ta5d6fftests/backend/test_backend_integrity.py
Tff7b72test:covTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffallTa5d6ff Ta5d6fftestsTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ffcoverage
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3testTb4b4b4:Te6edf3beTb4b4b4:Te6edf3covTb4b4b4, Te6edf3testTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72bench:beTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffbackendTa5d6ff Ta5d6ffbenchmarks
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpythonTa5d6ff Ta5d6fftests/backend/run_comprehensive_benchmarks.py
Tff7b72bench:be:extremeTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffextremeTa5d6ff Ta5d6ffstressTa5d6ff Ta5d6ffbenchmarks
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpythonTa5d6ff Ta5d6fftests/backend/run_comprehensive_benchmarks.pyTa5d6ff Ta5d6ff--extreme
Tff7b72profile:memTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffmemoryTa5d6ff Ta5d6ffprofiling
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffpoetryTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ffpytestTa5d6ff Ta5d6fftests/backend/test_memory_profiling.py
Tff7b72checkTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffformatting,Ta5d6ff Ta5d6fflinting,Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6fftestingTa5d6ff Ta5d6ffsequentially
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Tff7b72taskTb4b4b4: Ta5d6fffmt:all
Tb4b4b4- Tff7b72taskTb4b4b4: Ta5d6fflint:all
Tb4b4b4- Tff7b72taskTb4b4b4: Ta5d6fftest:all
Tff7b72compileTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffCompileTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6fftoTa5d6ff Ta5d6ffcheckTa5d6ff Ta5d6ffforTa5d6ff Ta5d6ffsyntaxTa5d6ff Ta5d6fferrors
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.PYTHON}}Te6edf3 Ta5d6ff-mTe6edf3 Ta5d6ffcompileallTe6edf3 Ta5d6ffmeshchatx/Ta5d6ff"
T8b949e# --- Build & Packaging ---
Tff7b72build:allTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffandTa5d6ff Ta5d6ffprepareTa5d6ff Ta5d6ffbackend
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3installTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuildTa5d6ff"
Tff7b72build:feTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6fffrontendTa5d6ff Ta5d6ffassets
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3depsTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-frontendTa5d6ff"
Tff7b72build:wheelTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffPythonTa5d6ff Ta5d6ffwheelTa5d6ff Ta5d6ffpackage
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3installTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.PYTHON}}Te6edf3 Ta5d6ff-mTe6edf3 Ta5d6ffpoetryTe6edf3 Ta5d6ffbuildTe6edf3 Ta5d6ff-fTe6edf3 Ta5d6ffwheelTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.PYTHON}}Te6edf3 Ta5d6ffscripts/move_wheels.pyTa5d6ff"
T8b949e# --- Electron Distribution ---
Tff7b72dist:linux:appimageTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffLinuxTa5d6ff Ta5d6ffAppImage
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdistTe6edf3 Ta5d6ff--Te6edf3 Ta5d6ff--linuxTe6edf3 Ta5d6ffAppImageTa5d6ff"
Tff7b72dist:linux:arm64Tb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffLinuxTa5d6ff Ta5d6ffarm64Ta5d6ff Ta5d6ffAppImage
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ffARCH=arm64Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdistTe6edf3 Ta5d6ff--Te6edf3 Ta5d6ff--linuxTe6edf3 Ta5d6ffAppImageTe6edf3 Ta5d6ff--arm64Ta5d6ff"
Tff7b72dist:win:exeTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffWindowsTa5d6ff Ta5d6ffportableTa5d6ff Ta5d6ffEXE
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdistTe6edf3 Ta5d6ff--Te6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTa5d6ff"
Tff7b72dist:win:arm64Tb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffWindowsTa5d6ff Ta5d6ffarm64Ta5d6ff Ta5d6ffportableTa5d6ff Ta5d6ffEXE
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ffARCH=arm64Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdistTe6edf3 Ta5d6ff--Te6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ff--arm64Ta5d6ff"
Tff7b72dist:win:wineTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffWindowsTa5d6ff Ta5d6ffEXE/InstallerTa5d6ff Ta5d6ffviaTa5d6ff Ta5d6ffWine
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ffPYTHON_CMD='{{.WINE_PYTHON}}'Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffnpxTe6edf3 Ta5d6ffelectron-builderTe6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ffnsisTe6edf3 Ta5d6ff--publish=neverTa5d6ff"
Tff7b72dist:fe:linuxTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffLinuxTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffappTa5d6ff Ta5d6ff(prebuiltTa5d6ff Ta5d6ffbackend)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdist:linuxTa5d6ff"
Tff7b72dist:fe:rpmTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffRPMTa5d6ff Ta5d6ffpackage
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdist:rpmTa5d6ff"
Tff7b72dist:fe:flatpakTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffFlatpakTa5d6ff Ta5d6ffpackage
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdist:flatpakTa5d6ff"
Tff7b72dist:fe:winTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffWindowsTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffapps
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdist:windowsTa5d6ff"
Tff7b72dist:fe:zipTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffZIPTa5d6ff Ta5d6ff(Forge)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdist:zipTa5d6ff"
Tff7b72dist:allTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffallTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffappsTa5d6ff Ta5d6ff(LinuxTa5d6ff Ta5d6ff+Ta5d6ff Ta5d6ffWin)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffdistTe6edf3 Ta5d6ff--Te6edf3 Ta5d6ff--linuxTe6edf3 Ta5d6ffAppImageTe6edf3 Ta5d6ffdebTe6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ffnsisTa5d6ff"
Tff7b72dist:all:wineTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffallTa5d6ff Ta5d6ffElectronTa5d6ff Ta5d6ffappsTa5d6ff Ta5d6ff(LinuxTa5d6ff Ta5d6ff+Ta5d6ff Ta5d6ffWinTa5d6ff Ta5d6ffviaTa5d6ff Ta5d6ffWine)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffelectron-postinstallTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ffPYTHON_CMD='{{.WINE_PYTHON}}'Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffnpxTe6edf3 Ta5d6ffelectron-builderTe6edf3 Ta5d6ff--linuxTe6edf3 Ta5d6ffAppImageTe6edf3 Ta5d6ffdebTe6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ffnsisTe6edf3 Ta5d6ff--publish=neverTa5d6ff"
T8b949e# --- Legacy Electron Builds ---
Tff7b72dist:legacy:linuxTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffLinuxTa5d6ff Ta5d6ffAppImageTa5d6ff Ta5d6ff(LegacyTa5d6ff Ta5d6ffElectron)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffnpxTe6edf3 Ta5d6ffelectron-builderTe6edf3 Ta5d6ff-cTe6edf3 Ta5d6ffpackage-legacy.jsonTe6edf3 Ta5d6ff--linuxTe6edf3 Ta5d6ffAppImageTe6edf3 Ta5d6ff--publish=neverTa5d6ff"
Tff7b72dist:legacy:winTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffWindowsTa5d6ff Ta5d6ffEXETa5d6ff Ta5d6ff(LegacyTa5d6ff Ta5d6ffElectron)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffnpxTe6edf3 Ta5d6ffelectron-builderTe6edf3 Ta5d6ff-cTe6edf3 Ta5d6ffpackage-legacy.jsonTe6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ff--publish=neverTa5d6ff"
Tff7b72dist:legacy:win:wineTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffWindowsTa5d6ff Ta5d6ffEXETa5d6ff Ta5d6ffviaTa5d6ff Ta5d6ffWineTa5d6ff Ta5d6ff(LegacyTa5d6ff Ta5d6ffElectron)
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ffPYTHON_CMD='{{.WINE_PYTHON}}'Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffnpxTe6edf3 Ta5d6ffelectron-builderTe6edf3 Ta5d6ff-cTe6edf3 Ta5d6ffpackage-legacy.jsonTe6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ffnsisTe6edf3 Ta5d6ff--publish=neverTa5d6ff"
Tff7b72dist:legacy:allTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffallTa5d6ff Ta5d6ffLegacyTa5d6ff Ta5d6ffapps
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=linuxTe6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffPLATFORM=win32Te6edf3 Ta5d6ff{{.NPM}}Te6edf3 Ta5d6ffrunTe6edf3 Ta5d6ffbuild-backendTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffnpxTe6edf3 Ta5d6ffelectron-builderTe6edf3 Ta5d6ff-cTe6edf3 Ta5d6ffpackage-legacy.jsonTe6edf3 Ta5d6ff--linuxTe6edf3 Ta5d6ffAppImageTe6edf3 Ta5d6ffdebTe6edf3 Ta5d6ff--winTe6edf3 Ta5d6ffportableTe6edf3 Ta5d6ffnsisTe6edf3 Ta5d6ff--publish=neverTa5d6ff"
T8b949e# --- Docker ---
Tff7b72docker:buildTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffDockerTa5d6ff Ta5d6ffimageTa5d6ff Ta5d6ff(buildx)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Tb4b4b4|
Tff7b72if ! docker buildx inspect {{.DOCKER_BUILDER}} >/dev/null 2>&1; then
Tff7b72docker buildx create --name {{.DOCKER_BUILDER}} --use >/dev/null
Tff7b72else
Tff7b72docker buildx use {{.DOCKER_BUILDER}}
Tff7b72fi
Tb4b4b4- Tb4b4b4|
Tff7b72docker buildx build --builder {{.DOCKER_BUILDER}} --platform {{.DOCKER_PLATFORMS}} \
Tff7b72{{.DOCKER_BUILD_FLAGS}} \
Tff7b72-t {{.DOCKER_IMAGE}} \
Tff7b72{{.DOCKER_BUILD_ARGS}} \
Tff7b72-f {{.DOCKERFILE}} \
Tff7b72{{.DOCKER_CONTEXT}}
Tff7b72docker:runTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffDockerTa5d6ff Ta5d6ffcontainerTa5d6ff Ta5d6ff(compose)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff'Ta5d6ffMESHCHAT_IMAGE="{{.DOCKER_IMAGE}}"Te6edf3 Ta5d6ff{{.DOCKER_COMPOSE_CMD}}Te6edf3 Ta5d6ff-fTe6edf3 Ta5d6ff{{.DOCKER_COMPOSE_FILE}}Te6edf3 Ta5d6ffupTe6edf3 Ta5d6ff--remove-orphansTe6edf3 Ta5d6ff--pullTe6edf3 Ta5d6ffneverTe6edf3 Ta5d6ffreticulum-meshchatxTa5d6ff'
Tff7b72docker:run:devTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffDockerTa5d6ff Ta5d6ffcontainerTa5d6ff Ta5d6ff(devTa5d6ff Ta5d6ffcompose)
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff'Ta5d6ffMESHCHAT_IMAGE="{{.DOCKER_IMAGE}}"Te6edf3 Ta5d6ff{{.DOCKER_COMPOSE_CMD}}Te6edf3 Ta5d6ff-fTe6edf3 Ta5d6ffdocker-compose.dev.ymlTe6edf3 Ta5d6ffupTe6edf3 Ta5d6ff--buildTe6edf3 Ta5d6ff--remove-orphansTe6edf3 Ta5d6ffreticulum-meshchatxTa5d6ff'
Tff7b72docker:build:envTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffcontainerizedTa5d6ff Ta5d6ffbuildTa5d6ff Ta5d6ffenvironment
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffdockerTa5d6ff Ta5d6ffbuildTa5d6ff Ta5d6ff-tTa5d6ff Ta5d6ff{{.DOCKER_BUILD_IMAGE}}Ta5d6ff Ta5d6ff-fTa5d6ff Ta5d6ff{{.DOCKER_BUILD_FILE}}Ta5d6ff Ta5d6ff.
Tff7b72docker:build:artifactsTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffandTa5d6ff Ta5d6ffexportTa5d6ff Ta5d6ffartifactsTa5d6ff Ta5d6fffromTa5d6ff Ta5d6ffcontainer
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffdockerTa5d6ff Ta5d6ffrmTa5d6ff Ta5d6ff-fTa5d6ff Ta5d6ffmeshchat-build-tempTa5d6ff Ta5d6ff||Ta5d6ff Ta5d6fftrue
Tb4b4b4- Ta5d6ffdockerTa5d6ff Ta5d6ffrunTa5d6ff Ta5d6ff--nameTa5d6ff Ta5d6ffmeshchat-build-tempTa5d6ff Ta5d6ff{{.DOCKER_BUILD_IMAGE}}
Tb4b4b4- Ta5d6ffmkdirTa5d6ff Ta5d6ff-pTa5d6ff Ta5d6ffdistTa5d6ff Ta5d6ffpython-dist
Tb4b4b4- Ta5d6ffdockerTa5d6ff Ta5d6ffcpTa5d6ff Ta5d6ffmeshchat-build-temp:/app/dist/.Ta5d6ff Ta5d6ff./dist/
Tb4b4b4- Ta5d6ffdockerTa5d6ff Ta5d6ffcpTa5d6ff Ta5d6ffmeshchat-build-temp:/app/python-dist/.Ta5d6ff Ta5d6ff./python-dist/
Tb4b4b4- Ta5d6ffdockerTa5d6ff Ta5d6ffrmTa5d6ff Ta5d6ffmeshchat-build-temp
T8b949e# --- Android ---
Tff7b72android:initTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffInitializeTa5d6ff Ta5d6ffGradleTa5d6ff Ta5d6ffwrapper
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Tb4b4b4|
Tff7b72if [ ! -f "{{.ANDROID_DIR}}/gradle/wrapper/gradle-wrapper.jar" ]; then
Tff7b72echo "Downloading Gradle wrapper jar..."
Tff7b72mkdir -p "{{.ANDROID_DIR}}/gradle/wrapper"
Tff7b72curl -L -o "{{.ANDROID_DIR}}/gradle/wrapper/gradle-wrapper.jar" \
Tff7b72https://raw.githubusercontent.com/gradle/gradle/v8.12.1/gradle/wrapper/gradle-wrapper.jar || \
Tff7b72echo "Failed to download. Please run: cd {{.ANDROID_DIR}} && gradle wrapper --gradle-version 8.12.1"
Tff7b72else
Tff7b72echo "Gradle wrapper already initialized."
Tff7b72fi
Tff7b72android:prepareTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffPrepareTa5d6ff Ta5d6ffAndroidTa5d6ff Ta5d6ffsourceTa5d6ff Ta5d6ffassets
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3buildTb4b4b4:Te6edf3feTb4b4b4, Te6edf3androidTb4b4b4:Te6edf3initTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Tb4b4b4|
Tff7b72echo "Copying meshchatx package and dependencies to Android project..."
Tff7b72mkdir -p "{{.PYTHON_SRC_DIR}}"
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/meshchatx"
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/RNS"
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/LXMF"
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/LXST"
Tff7b72cp -r meshchatx "{{.PYTHON_SRC_DIR}}/"
Tff7b72cp -r ./misc/RNS "{{.PYTHON_SRC_DIR}}/"
Tff7b72cp -r ./misc/LXMF "{{.PYTHON_SRC_DIR}}/"
Tff7b72cp -r ./misc/LXST "{{.PYTHON_SRC_DIR}}/"
Tff7b72cp -r ./src/RNS "{{.PYTHON_SRC_DIR}}/" || true
Tff7b72cp -r ./src/LXMF "{{.PYTHON_SRC_DIR}}/" || true
Tff7b72cp -r ./src/LXST "{{.PYTHON_SRC_DIR}}/" || true
Tff7b72cp "./misc/pycodec2-3.0.1-cp311-cp311-linux_aarch64.whl" "{{.PYTHON_SRC_DIR}}/" || true
Tff7b72mkdir -p "{{.JNI_LIBS_DIR}}/arm64-v8a"
Tff7b72mkdir -p "{{.JNI_LIBS_DIR}}/armeabi-v7a"
Tff7b72cp "./misc/libcodec2-arm64-v8a.so" "{{.JNI_LIBS_DIR}}/arm64-v8a/" || true
Tff7b72cp "./misc/libcodec2-armeabi-v7a.so" "{{.JNI_LIBS_DIR}}/armeabi-v7a/" || true
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/RNS/Utilities/RNS"
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/LXMF/Utilities/LXMF"
Tff7b72rm -rf "{{.PYTHON_SRC_DIR}}/LXST/Utilities/LXST"
Tff7b72android:buildTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffDebugTa5d6ff Ta5d6ffAPK
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3androidTb4b4b4:Te6edf3prepareTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffcdTa5d6ff Ta5d6ff"{{.ANDROID_DIR}}"Ta5d6ff Ta5d6ff&&Ta5d6ff Ta5d6ff./gradlewTa5d6ff Ta5d6ffassembleDebug
Tff7b72android:build:releaseTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffReleaseTa5d6ff Ta5d6ffAPK
Tff7b72depsTb4b4b4: Tb4b4b4[Te6edf3androidTb4b4b4:Te6edf3prepareTb4b4b4]
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffcdTa5d6ff Ta5d6ff"{{.ANDROID_DIR}}"Ta5d6ff Ta5d6ff&&Ta5d6ff Ta5d6ff./gradlewTa5d6ff Ta5d6ffassembleRelease
Tff7b72android:cleanTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffCleanTa5d6ff Ta5d6ffAndroidTa5d6ff Ta5d6ffartifacts
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffcdTa5d6ff Ta5d6ff"{{.ANDROID_DIR}}"Ta5d6ff Ta5d6ff&&Ta5d6ff Ta5d6ff./gradlewTa5d6ff Ta5d6ffclean
Tb4b4b4- Ta5d6ffrmTa5d6ff Ta5d6ff-rfTa5d6ff Ta5d6ff"{{.PYTHON_SRC_DIR}}/meshchatx"
T8b949e# --- Maintenance ---
Tff7b72distTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffAliasTa5d6ff Ta5d6ffforTa5d6ff Ta5d6ffdist:linux:appimage
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Tff7b72taskTb4b4b4: Ta5d6ffdist:linux:appimage
Tff7b72cleanTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffNukeTa5d6ff Ta5d6ffallTa5d6ff Ta5d6ffbuildTa5d6ff Ta5d6ffartifactsTa5d6ff Ta5d6ffandTa5d6ff Ta5d6ffdependencies
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ffrmTa5d6ff Ta5d6ff-rfTa5d6ff Ta5d6ffnode_modulesTa5d6ff Ta5d6ffbuildTa5d6ff Ta5d6ffdistTa5d6ff Ta5d6ffpython-distTa5d6ff Ta5d6ffmeshchatx/publicTa5d6ff Ta5d6ffbuild-dirTa5d6ff Ta5d6ffout
Tb4b4b4- Tff7b72taskTb4b4b4: Ta5d6ffandroid:clean
Tff7b72locales:genTb4b4b4:
Tff7b72descTb4b4b4: Ta5d6ffGenerateTa5d6ff Ta5d6fflocalizationTa5d6ff Ta5d6fftemplate
Tff7b72cmdsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ff{{.PYTHON}}Te6edf3 Ta5d6ffscripts/generate_locale_template.pyTa5d6ff"
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────